public class Radio {
/**
* Estado del radio, cuando la variable esta en true esta encendido el radio
* cuando la variable esta en false esta apagado
**/
private boolean estado;
private Boton[] botones;
private double estaciones;
private String frecuencia;

/**
* Constructor de Clase sin parametros
* Establece el estado del radio como apagado y inicializa el arreglo de 
* botones
*/
public Radio(){
estado = false;
botones = new Boton[12];
}
public void setEstado(boolean estado) {
this.estado = estado;
}
public void setBotones(Boton[] botones) {
this.botones = botones;
}
public void setEstaciones(double estaciones) {
this.estaciones = estaciones;
}
public void setFrecuencia(String frecuencia) {
this.frecuencia = frecuencia;
}
public boolean getEstado() {
return estado;
}
public Boton[] getBotones() {
return botones;
}
public double getEstaciones() {
return estaciones;
}
public String getFrecuencia() {
return frecuencia;
}


/**
* Enciende el radio
*/
public void encender(){
estado = true;
}

/**
* Apaga el radio
*/
public void apagar(){
estado = false;
}
public void seleccionarEstacion(double e) throws Exception{
if(e >= 530 && e <= 1610 && e % 10 == 0){
estaciones = e;
}else if (e >= 87.9 && e <= 107.9 && ((e*10) % 2) == 0){
estaciones = e;
}else{
throw new Exception("Estacion invalida.");
}
}

public void LeerEstacion(int n) throws Exception{
if(n >= 0 && n <= 12){
botones[n].set(frecuencia, estaciones);
}else{
throw new Exception("No es un numero de boton valido");
}
}

public void modificarEstacion(String f, double e) throws Exception{ 
if(((f.equals("AM") && (e >= 530 && e <= 1610 && e % 10 == 0)))||( f.equals("FM")&& (e >= 87.9 && e <= 107.9 )&&(((e*10)+1)%2)==0)){
frecuencia=f;
estaciones = e;
}
else{
throw new Exception("Frecuencia Invalida.");
}}




public int agregarEstacion(int pos, String f, double x) throws Exception
{
if(pos != -1 && (f.equals("AM") || f.equals("FM"))){ 
if((x >= 530 && x <= 1610 && x % 10 == 0) || 
(x >= 87.9 && x <= 107.9 && ((x*10) % 2) == 0)){
botones[pos].set(f, x);
}else{
throw new Exception("Estacion invalida.");
}
}else{
throw new Exception("Frecuencia Invalida.");
}
return pos;
}
}